Computer users continue to store and share more files in richer ways as the internet, communications and broadband technologies improve and expand their reach. While there are many benefits that come with this explosive growth of electronic information, users are becoming more challenged to find and reuse files that they once created or used. The following scenario will be used as an example to illustrate this challenge.
A user, named Fred, receives a file attached to an email from his colleague, Sam. The attachment is a written document describing the goals of a project Fred and Sam are leading. Fred makes a few changes to the document and saves the file on his local computer. He also starts to draft a new document that lays out the milestones for the project. Fred does not want to rewrite the project objectives in his milestones document so he embeds a link in the milestones document to the objectives document so that anyone who is reading his milestones document can link directly to the objectives document. Fred saves both the milestones document and the objectives document on a share that both Fred and Sam have permission to access. Fred changes the name on the objectives document to make it clear that the document includes his modifications and emails Sam the link to the milestones document stored on the common share.
Sam opens the milestones document and then clicks on the objectives document link that Fred has embedded so that Sam can see the changes Fred has made to the objectives. Sam is presented with a message on the display of his computer explaining that the objectives document can not be found. Sam does not know why the file can not be found and he does not know how to find it. So he needs to wait for Fred to correct the link or tell him where the file is stored and the name under which it is stored.
This scenario is further illustrated in FIG. 1. FIG. 1 shows the file names and path relationships associated with this scenario. The file 10 that Sam created is stored on the C drive of his computer in his Documents folder under the name “Objectives”. Thus the file name is C:\Documents\Objectives. Similarly when Sam sends the file to Fred, Fred saves the file 12 on his computer's C drive in his documents folder under the name C:\Documents\Objectives and this is the link that Fred includes in his milestones document. Fred creates and saves the milestone document as file 14 under the name of C:\Documents\Milestones on his computer. When Fred saves the milestones document on the common share he uses the S drive and the folder on that drive called “Documents”. The shared milestones file 18 is named S:\Documents\Milestones. Fred had also moved the objectives document, file 12, onto the common share under the new name S:\Documents\objectives(Fred) to create a shared objectives file 16 but he did not update the link embedded in the shared milestones file 18. Consequently, when Sam tried to open the file by accessing the link from the shared milestone file 18 it pointed him back to file 12 which had been moved and renamed as shared objectives file 16.
Most files today are created with a namespace name that includes the path where the file is stored and the user-given name. In the scenario described above the namespace name for file 10 is C:\Documents\Objectibes where C:\Documents is the path and Objectives is the name that Sam created for the file. As illustrated, however, the path and name of a file may change over the lifetime of the file making it difficult to ensure that these changes are tracked and updated so that the file can be opened despite any changes in its namespace name.
Some file systems are capable of tracking changes. For example, the Windows NTFS file system includes a Change Journal such as an Update Sequence Number (USN) Journal that tracks file namespace changes. However, because not all files are meant to be shared across users and applications the tracking information from the Change Journal is only available to certain applications and users with the highest security permissions. For example, in the scenario discussed above, Sam should not have access to the objectives document file 12 stored on Fred's computer unless Fred authorized Sam to have access. Nor should Sam be able to obtain information about what files are stored on Fred's computer without permission. Accordingly, except for administrators with the highest security permissions computer applications are not developed to utilize the tracking features of the Change Journal.
There are also some file systems that will create a unique file or object ID associated with certain files when they are created that are persistent and do not change even when the namespace name is changed. While having a unique and persistent identifier associated with a file may simplify the tracking of a file that has changed path or name over the course of its lifetime, there is currently no mechanism for users without the highest of security permissions or applications that are designed to open files using the namespace name to open a file when the namespace name has been changed although doing so would not have been a breach of any security conditions.
It should be understood that many other scenarios are possible in which the namespace name changes preventing the opening of a desired file.